package com.cpit.qualitycontrol.service;

import com.cpit.platform.common.entity.TableDataQueryCondition;
import com.cpit.platform.common.entity.TableJsonData;
import com.cpit.platform.dto.OperLog;
import com.cpit.qualitycontrol.entity.SubTask;
import com.cpit.qualitycontrol.vo.SubTaskCheckVo;
import com.cpit.qualitycontrol.vo.SubTaskSubmitCoordinateVo;
import com.cpit.qualitycontrol.vo.SubTaskSubmitVo;

import java.util.List;

/**
 * Created by xxx on 2017/10/10.
 */
public interface SubTaskService {

    List<SubTask> queryTodoSubTaskByUserId(Integer userId,
                                           int page,
                                           int size,
                                           String order,
                                           String orderBy,
                                           Long productLineId,
                                           String projectName,
                                           String constructionTeamName,
                                           String deviceName,
                                           Long deviceTypeId,
                                           Long workOrderTypeId,
                                           Integer subTaskState,
                                           Boolean isHistory,
                                           String addr);

    List<SubTask> qualifiedRate(Integer userId,
                                int page,
                                int size,
                                String order,
                                String orderBy,
                                Long productLineId,
                                String projectName,
                                String constructionTeamName,
                                String beginTime,
                                String endTime,
                                Integer auditCount);

    SubTask querySubTaskById(Long subTaskId);

    List<SubTask> findByOrganizationTeamId(Long organizationTeamId);

    TableJsonData findByConditionJqg(Integer userId, TableDataQueryCondition cond, Boolean isHistory);

    void subTaskSubmit(Integer userId, SubTaskSubmitVo subTaskSubmitVo, OperLog operLog) throws Exception;

    void subTaskCheck(Integer userId, SubTaskCheckVo subTaskCheckVo, OperLog operLog) throws Exception;

    void subTaskSubmitCoordinate(SubTaskSubmitCoordinateVo subTaskSubmitCoordinateVo) throws Exception;
}
